#ifndef PHYSICS_SIMULATOR_H
#define PHYSICS_SIMULATOR_H

#include "IPhysicsSimulator.h"
#include "tokamak.h"
#include <vector>
#include "Box.h"
#include "Sphere.h"
#include "Cylinder.h"
#include "PhysicsDefs.h"

namespace steam
{
	namespace wheel
	{

		class PhysicsSimulator : public IPhysicsSimulator
		{
		public:
			
			PhysicsSimulator(int rigidBodyCount, int animatedBodyCount);

			~PhysicsSimulator();

			void advance(float elapsedTime);

			IBox* createBox(BoxInfo info, SimulateType simType);

			Sphere* createSphere(SphereInfo info, SimulateType simType);

			Cylinder* createCylinder(CylinderInfo info, SimulateType simType);

		private:

			neSimulator* m_simulator;

			std::vector<neRigidBody*> m_rigidBodies;

			std::vector<neAnimatedBody*> m_animatedBodies;

		};
	}
}

#endif